package persistence.model;

import persistence.db.DataSet;
import persistence.dao.SeanceDAO;

public class Seance extends AbstractModel {
	
	private int idPeriode;
	private int idSalle;
	private int idService;
	
	/**
	 * Constructeur d'une seance
	 * @param id identifiant de la seance
	 */
	public Seance(int id) {
		setId(id);
		setDao(new SeanceDAO(this));
	}
	
	public Seance(int id, int idPeriode, int idSalle, int idService) {
			this(id);
			this.idPeriode = idPeriode;
			this.idSalle = idSalle;
			this.idService = idService;
	}
	public int getIdPeriode() {
		return idPeriode;
	}
	
	public Service getService() {
		return (Service) Service.all().filter("id_service = " + idService).getFirst();
	}
	
	public Salle getSalle() {
		return (Salle) Salle.all().get(idSalle);
	}

	public void setIdPeriode(int idPeriode) {
		this.idPeriode = idPeriode;
	}

	public int getIdSalle() {
		return idSalle;
	}

	public void setIdSalle(int idSalle) {
		this.idSalle = idSalle;
	}

	public int getIdService() {
		return idService;
	}

	public void setIdService(int idService) {
		this.idService = idService;
	}

	/**
	 * Récupère dans la base les séances de la semaine
	 * @return un ensemble des séances de la semaine courante
	 */
	public static DataSet allSemaine() {
		SeanceDAO seanceDAO = new SeanceDAO();
		return seanceDAO.all(); // .filter(""); //TODO
	}
	
	public static DataSet all() {
		SeanceDAO seanceDAO = new SeanceDAO();
		return seanceDAO.all();
	}
}
